iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
1

Callback function,也稱回呼函式,
簡單來說就是函式裡面包了另外一個函式,然後透過你定義的函式來呼叫他。

使用時機:

  1. 做完某件事情才會執行的 function

  2. 時間到的時候會使用的 function

做完某件事情才會執行的 function

function callMom() {
  alert('Mom, I\'m home !')
}
function goHome(callMom) {
  alert('Take bus and go home')
  callMom()
}

使用瀏覽器所提供的 setTimeout() 或 setInterval()

Call your mom when you arrive home (after 3 sec.)

setTimeout(() => {
 console.log('call your mom')
}, 3000)

事件監聽的 callback function

const btn = document.querySelector('button')

btn.addEventListener('click', callbackFunctionName)

function popUpwindow(){
    let popUp = document.querySelector('.pop-up')
    popUp.classList.remove('hidden')
}

Callback function 優點

  1. 可以自己定義函式執行的順序
  2. 比較好維護

Callback function 缺點

Callback Hell,若函式之間依賴過多,多層後,就會產生,以下恐怖的 code

a(function(resultsFormA){
  b(resultsFormB,function(resultsFormC){
    c(resultsFormC,function(resultsFormD){
      d(resultsFormD,function(resultsFormE){
        console.log(resultsFormE)
      })
    })
  })
})

為了解決這樣的問題, ES 6 後我們有了 promise 的方法


我們明天再來繼續研究 promise


上一篇
DAY 14 LocalStorage、sessionStorage
下一篇
DAY 16 Promise 是什麼?
系列文
半路出家,文組新手學 Javascript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言